package hng.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author 告白
 * @since 2024-06-27
 */
@Data
public class OrdersDetailVO implements Serializable {



    /**
     * id
     */
    private Integer id;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 店铺id
     */
    private Integer storeId;

    /**
     * 地址详情
     */
    private String addressFull;

    /**
     * 订单状态: 1待付款, 2待发货, 3待收货, 4待评价
     */
    private Integer orderStatus;

    /**
     * 总价
     */
    private Double totalAmount;

    /**
     * 支付方式
     */
    private String paymentMethod;

    /**
     * 收货信息
     */
    private String receiverInfo;

    /**
     * 支付宝交易凭证号
     */
    private String tradeNo;

    /**
     * 商户订单号
     */
    private String outTradeNo;

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * 支付完成时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime paymentTime;

    /**
     * 收货时间
     */
    private LocalDateTime shippingTime;

    /**
     * 订单完成时间
     */
    private LocalDateTime completionTime;

    /**
     * 取消时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime cancelTime;


    /**
     * 订单详情
     */
    private List<OrderItemVO> orderItems;

}
